home *** CD-ROM | disk | FTP | other *** search
-
- Enclosed is a majik tool for detecting invisible bugs in programs; _The
- Enforcer_ uses the MMU to build a shroud of protection over anything that
- is not legal memory. Any "empty holes" in the address space are marked as
- illegal by _Enforcer_. Reads of the system ROMs are allowed, but not
- writes. With the exception of longword reads of location 4, the lowest 1K
- of memory is completely off-limits.
-
- When an illegal access is detected, the power LED will flash and a detailed
- message will be sent out the serial port (at the default speed). Illegal
- writes are aborted, illegal reads return NULL data. For example:
-
-
-
- Program Counter (approximate)= 28EB3E Fault address =C0EDBABE
- User stack pointer = 2E39EC DOS process address = 23C810
- Data: DDDD0000 DDDD1100 DDDD2200 DDDD3300 DDDD4400 DDDD5500 DDDD6600 DDDD7700
- Addr: AAAA0000 AAAA1100 AAAA2200 AAAA3300 AAAA4400 AAAA5500 AAAA6600 000FFFA0
- Data output buffer =$DDDD0000 ( )
- Status register =$8 Special status word =$709 (WRITE-LONG)
- Process/CLI = AmigaShell ,"lawbreaker"
-
-
-
- CLI command "lawbreaker" has written the value $DDDD0000 to location
- $C0EDBABE. The write was aborted. With the information given, it is
- usually quite easy to figure out what went wrong.
-
-
-
-
- Remote keystrokes:
- ^S - pause
- ^Q - resume
- ^X - disable _Enforcer_ reporting until next ^Q.
-
-
-
-
- Notes:
-
- If you don't have an external terminal, just use a modem & a terminal
- program. Most modems will echo back characters at any baud rate. Else,
- just set the baud rate to match the modem.
-
-
- Illegal hits from CLI commands named "metascope" or "wack" are ignored.
-
-
- The Alert() system call writes to locations in the $180-$1C0 area.
-
-
- _The Enforcer_ works on any V1.2,V1.3 or V2.0 system, provided the MMU
- is available.
-